1. Field of the Invention
The invention relates to the art of computer networks. In particular, the invention provides method and apparatus for accomplishing an automatic routing of separate upstream and downstream traffic in networks with one-way network devices.
2. Description of Related Art
Currently, most home personal computers (clients) are connecting with the Internet and other on-line services using the public telephone network Most often, data is transferred using Transmission Control Protocol/Internet Protocol (TCP/IP) implemented over such protocols as the Point-to-Point Protocol (PP) or Serial Line IP (SLIP). PPP and SLIP allow clients to become part of a TCP/IP network (such as the internet) using the public telephone network and either an analog public service telephony network (PSTN), modem or an Integrated Services Digital Network (ISDN) device. Clients connect to a network by "dialing-up" a Point of Presence (POP), or "headend", server, which then assigns the client an IP address.
The public telephone network has a switched point-to-point architecture and only offers relatively low bandwidth as it was originally designed for analog voice communication. Thus, it does not scale well to the delivery of broadband data such as multimedia As a result, there are several efforts to create a broadband data delivery infrastructure for client applications. Such an infrastructure, when combined with the increasingly powerful clients that are now available, will enable the delivery of rich multimedia programming to the home.
Broadband data delivery may be accomplished over a variety of different delivery infrastructures. Of these, perhaps the most promising is the infrastructure currently used to deliver cable television. Recent advancements in radio frequency modulation and demodulation technology, along with a large base of cable television subscribers, has made cable television service providers a strong candidate for becoming the preferred provider of broadband services to the home. In the broadband network architecture, a client will be continuously connected to the broadband network and will be in communication with one or more headend servers at all times.
However, as the cable television network was originally intended only for transmitting data from a headend server located at the cable television service provider's site to one or more subscribers/users (i.e., the network was designed for a one-to-many transmission of information), no provision was made for receiving data from the equipment (i.e., clients) located at the users' locations.
A solution has been proposed to achieve two-way communication of data using the existing cable television infrastructure. "Downstream data", defined to be data sent from a headend server to a client, is transferred over coaxial cable from the headend server into the home and to the user's client PC, while "upstream data", defined to be data sent from the client to the headend server, is transferred over the public telephone network. The asymmetrical allocation of upstream/downstream bandwidth is acceptable for most applications as the majority of users requires a larger downstream bandwidth compared to the upstream bandwidth (i.e., most users are "data consumers" rather than "data generators").
In operation, downstream data is received by a client using a "one-way" cable modem while upstream data is transmitted by an analog modem or an ISDN device, over the public telephone network, to the headend server via a Plain Old Telephone Service (POTS) server at the headend office. The POTS server forwards any upstream data sent by the client to the headend server for appropriate action (e.g., providing domain name server (DNS) services, simple mail transfer protocol (SMTP) services, gateway or proxy services, etc.).
The client and the headend server communicate using TCP/IP. Data is transmitted in packets, where packets are defined as a block of data with appropriate transmission data attached in the form of a header and footer to be sent or received over a network. Downstream and upstream data are sent using the Ethernet standard, as defined by the Institute of Electrical and Electronics Engineemrs (IEEE) 802.3, modulated for transmission over: (1) coaxial cable using the cable modem; or, (2) a telephone line using the PSTN modem or the ISDN device and PPP or SLIP protocols.
In order for the client to use the cable modem for communication, the cable-modem is installed as an Ethernet adapter in the client, and the client is configured just as an ordinary TCP/IP network machine. Thus, the client would have both a media access control (MAC) address for the Ethenet adaptor and a TCP/IP address. After the initial configuration and initialization of the cable modem, data would come from the headend server over the coaxial cable in the cable network.
For downstream traffic to reach the client through the cable modem, however, the network router that is responsible for routing network traffic for the client at the headend server side need to be set-up to divert all downstream traffic to the client. Currently, each new client must be added manually to the routing tables of the network router using fixed IP addresses so that the internet service provider must maintain an IP address for each client. As each client has to be manually added, an additional burden is placed on the system administrator for supporting each client In addition, this system wastes IP addresses as not all clients are usually communicating with the network at the same time. If clients could be assigned IP addresses dynamically from a pool of addresses, then the service provider needs to maintain and reserve a number of IP addresses based on the potential number of IP addresses he might need to support
What is needed is a network routing mechanism that will automatically set-up network traffic routing in networks with separate upstream and downstream traffic traveling over different transmission mediums, such as one-way cable systems. Currently, there are no existing implementations of a network router that will accomplish this type of routing automatically. Moreover, the network routing mechanism should allow dynamic allocation of IP addresses so that only one IP address is needed for each client and IP addresses can be conserved.